|
class Model |
|
Parent: Object |
|
|
Methods: abort_operation, active_entities, active_layer, active_layer=, active_view, add_note, attribute_dictionaries, attribute_dictionary, bounds, commit_operation, definitions, description, description=, entities, get_attribute, get_datum, guid, latlong_to_point, layers, list_datums, materials, modified?, options, pages, path, place_component, point_to_latlong, point_to_utm, raytest, rendering_options, save, save_thumbnail, select_tool, selection, set_attribute, set_datum, shadow_info, start_operation, title, utm_to_point, valid? |
|
|
Sample Code: modeltests.rb |
|
|
Instance Methods |
|
abort_operation |
|
The abort_operation method aborts the current operation started with the start_operation method. |
|
Syntax: |
|
status = model.abort_operation |
|
Arguments: |
|
|
|
Return Value: |
|
status – true if successful, false if unsuccessful |
|
Comments: |
|
The abort_operation method is normally called from inside of a rescue clause to cancel an operation if something goes wrong. |
|
Example: |
|
status = model.abort_operation |
|
active_entities |
|
The active_entities method is used to retrieve an Entities object containing all of the entities in the active model or component (if you are within a component) |
|
Syntax: |
|
entities = model.active_entities |
|
Arguments: |
|
|
|
Return Value: |
|
entities – an entities object |
|
Comments: |
|
|
|
Example: |
|
model=Sketchup.active_model entities=model.active_entities |
|
active_layer |
|
The active_layer method retrieves the active Layer. |
|
Syntax: |
|
layer = model.active_layer |
|
Arguments: |
|
|
|
Return Value: |
|
layer – a layer object containing the currently active layer |
|
Comments: |
|
The default layer in SketchUp is layer 0. |
|
Example: |
|
|
|
active_layer = |
|
The active_layer= method sets the active Layer object. |
|
Syntax: |
|
activelayer = model.active_layer=layer |
|
Arguments: |
|
layer – the layer object to be set as the active layer |
|
Return Value: |
|
activelayer – the newly set active layer object |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model if (name != “My Layer”) |
|
active_view |
|
The active_view method returns the active View object for this model. |
|
Syntax: |
|
view = model.active_view |
|
Arguments: |
|
|
|
Return Value: |
|
view – a view object |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model |
|
add_note |
|
The add_note method is used to add a text note to the model. |
|
Syntax: |
|
note = Sketchup.active_model.add_note “note” x, y |
|
Arguments: |
|
“note” – a string note x – a distance along the x axis between 0 and 1 y – a distance along the y axis between 0 and 1 |
|
Return Value: |
|
note – a note object or an exception if it is unsuccessful. |
|
Comments: |
|
The position of the note is given as relative window positions between 0 and 1. For example, the following command would create a note that start one-tenth of the way down the screen from the upper left corner of the window. |
|
Example: |
|
model = Sketchup.active_model begin |
|
attribute_dictionaries |
|
The attribute_dictionaries method retrieves the AttributeDictionaries object that is associated with the Model. |
|
Syntax: |
|
attributedictionaries = model.attribute_dictionaries |
|
Arguments: |
|
|
|
Return Value: |
|
attributedictionaries – an array of attribute dictionary if successful, nil if there are no attribute dictionaries |
|
Comments: |
|
|
|
Example: |
|
model
= Sketchup.active_model if (attdicts) |
|
attribute_dictionary |
|
The attribute_dictionary method retrieves an attribute dictionary with a given name that is associated with the model. |
|
Syntax: |
|
attributedictionary = model.attribute_dictionary “name” create |
|
Arguments: |
|
“name” – the name of the dictionary you are attempting to retrieve create – (optional) if set to true an attribute dictionary of the given “name” will be created if not found |
|
Return Value: |
|
attributedictionary – an attribute dictionary object if successful, nil if unsuccessful |
|
Comments: |
|
The model and entities do not have attribute dictionaries by default. You must create model-related attribute dictionaries using the create flag. |
|
Example: |
|
|
|
bounds |
|
The bounds method retrieves the bounding box of the model. |
|
Syntax: |
|
boundingbox = model.bounds |
|
Arguments: |
|
|
|
Return Value: |
|
boundingbox = a bounding box for the model if successful |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.bounds if (bounds) |
|
commit_operation |
|
The commit_operation method commits an operation for undo. |
|
Syntax: |
|
status = model.commit_operation |
|
Arguments: |
|
|
|
Return Value: |
|
status – true if successful, false if unsuccessful |
|
Comments: |
|
The commit_operation method is normally called at the end of a method to commit the operation that the method performs. |
|
Example: |
|
status = model.commit_operation |
|
definitions |
|
The definitions method retrieves a definition list containing all of the component definitions in the model. |
|
Syntax: |
|
definitionslist = model.definitions |
|
Arguments: |
|
|
|
Return Value: |
|
definitions – a definitions list if successful. |
|
Comments: |
|
The returned definitions can be empty. |
|
Example: |
|
model = Sketchup.model |
|
description |
|
The description method retrieves a description of the model as found in the Model Info > Files panel. |
|
Syntax: |
|
description = model.description |
|
Arguments: |
|
|
|
Return Value: |
|
description – a description if successful. |
|
Comments: |
|
The returned description can be empty. The default description for all models is empty. |
|
Example: |
|
model = Sketchup.model desc = model.description |
|
description= |
|
The description= method sets the description of the model. |
|
Syntax: |
|
description = model.description “description” |
|
Arguments: |
|
“description” – (optional) the description string to be set. |
|
Return Value: |
|
description – the currently set description string. |
|
Comments: |
|
If you do not include a description string, the description is cleared and an empty description is returned. |
|
Example: |
|
model = Sketchup.model description = model.description=”This is a model of a house on the North West Corner of 10th and Dolores Street in Carmel, California” |
|
entities |
|
The entities method returns an Entities object containing an array of entities in the model. |
|
Syntax: |
|
entities = model.entities |
|
Arguments: |
|
|
|
Return Value: |
|
entities – an Entities object if successful |
|
Comments: |
|
If no entities are in your model, this method returns an empty Entities object (an empty array) |
|
Example: |
|
model = Sketchup.model # Add a group to the entities in the
model |
|
get_attribute |
|
The get_attribute method gets the value of an attribute that in the AttributeDictionary with the given name. |
|
Syntax: |
|
value = model.get_attribute “dictionaryname”, key, defaultvalue |
|
Arguments: |
|
“dictionaryname” – the name of the dictionary containing the value “key” – the key containing the value defaultvalue – (optional) default value that will be returned if a value does not exist |
|
Return Value: |
|
value – the value for a given key in the given dictionary if a value exists; the default value if a defaultvalue is provided and the value does not exist; nil if the value does not exist and no defaultvalue is provided. |
|
Comments: |
|
|
|
Example: |
|
|
|
get_datum |
|
the get_datum method retrieves the datum, in the form of a string, used in UTM conversions. |
|
Syntax: |
|
datum = model.get_datum |
|
Arguments: |
|
|
|
Return Value: |
|
datum – a datum represented as a string if successful. |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model datum = model.get_datum |
|
guid |
|
The guid method retrieves the globally unique identifier, in the form of a string, for the Model. |
|
Syntax: |
|
guid = model.guid |
|
Arguments: |
|
|
|
Return Value: |
|
guid – a globally unique identifier, in the form of a string, for the model |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model guid = model.guid |
|
latlong_to_point |
|
The latlong_to_point method convert a latitude and longitude to a Point3d object in the model. |
|
Syntax: |
|
point = model.latlong_to_point latlong |
|
Arguments: |
|
latlong – a latlong object |
|
Return Value: |
|
point – a point3d object if successful, false if unsuccessful. |
|
Comments: |
|
|
|
Example: |
|
latitude = [40.01700, 105.28300] begin point = model.latlong_to_point latlong |
|
layers |
|
The layers method retrieves a collection of all Layers objects in the model. |
|
Syntax: |
|
layers = model.layers |
|
Arguments: |
|
|
|
Return Value: |
|
layers – a Layers object containing a collection of Layers in the model |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model layers = model.layers |
|
list_datums |
|
This method retrieves an Array of all of the datums recognized by SketchUp. |
|
Syntax: |
|
datums = model.list_datums |
|
Arguments: |
|
|
|
Return Value: |
|
datums – An Array object containing the datums supported by SketchUp |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model if (datums) |
|
materials |
|
The materials method returns a collection of all of the Materials in the model. |
|
Syntax: |
|
materials = model.materials |
|
Arguments: |
|
|
|
Return Value: |
|
|
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model if (materials) |
|
modified? |
|
The modified? method determines if the Model has been modified since the last save. |
|
Syntax: |
|
status = model.modified? |
|
Arguments: |
|
|
|
Return Value: |
|
status = true if the model has been modified since last save (and requires a save), false if the model has not been modified. |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model if (status) |
|
options |
|
The options method retrieves the options manager that defines the options settings for the model. |
|
Syntax: |
|
optionsmanager = model.options |
|
Arguments: |
|
|
|
Return Value: |
|
optionsmanager – an OptionsManager object containing one or more options providers if successful. |
|
Comments: |
|
There are 5 default options managers. These are: PageOptions, AxisOptions, SlideshowOptions, UnitsOptions, and NamedOptions. |
|
Example: |
|
model = Sketchup.active_model |
|
pages |
|
The pages method retrieves a Pages object containing all of the pages in the Model. |
|
Syntax: |
|
pages = model.pages |
|
Arguments: |
|
|
|
Return Value: |
|
pages – returns a Pages object with 0 or more pages. |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.model |
|
path |
|
The path method retrieves the path of the file from which the model was opened. |
|
Syntax: |
|
path = model.path |
|
Arguments: |
|
|
|
Return Value: |
|
path – an string containing the path for the currently opened model. |
|
Comments: |
|
An empty string is returned for a new model (one which has not been saved and opened) |
|
Example: |
|
model = Sketchup.model |
|
place_component |
|
The place_component method places a new component in the Model using the component placement tool. The first argument is a ComponentDefinition. There is a second optional argument. If it is true, it says to stay in the tool and place multiple instances of the component. |
|
Syntax: |
|
status = model.placecomponent componentdefinition, repeat |
|
Arguments: |
|
componentdefinition – A component definition object containing the definition (blueprint) for the component repeat – if set to true, stay in the component placement tool and place multiple components |
|
Return Value: |
|
|
|
Comments: |
|
|
|
Example: |
|
|
|
point_to_latlong |
|
The point_to_latlong method converts a point in the model to a LatLong so that you can get its latitude and longitude. |
|
Syntax: |
|
latlong = model.point_to_latlong point |
|
Arguments: |
|
point – a Point3d object |
|
Return Value: |
|
latlong – a LatLong object |
|
Comments: |
|
This method uses the location information set in ShadowInfo. |
|
Example: |
|
coordinates = [10,10,10] latlong = model.point_to_latlong(point) |
|
point_to_utm |
|
This method converts a Point3d object in the Model to UTM coordinates. |
|
Syntax: |
|
utm = model.point_to_utm(point) |
|
Arguments: |
|
point – A Point3d object |
|
Return Value: |
|
utm – a UTM object |
|
Comments: |
|
This method uses the location information set in ShadowInfo. See also UTM. |
|
Example: |
|
coordinates = [10,10,10] begin utm = model.point_to_utm(point) |
|
raytest |
|
Cast a ray through the model and return the first thing that it hits. |
|
Syntax: |
|
|
|
Arguments: |
|
|
|
Return Value: |
|
|
|
Comments: |
|
|
|
Example: |
|
|
|
rendering_options |
|
The rendering_options method retrieves the RenderingOptions object for this Model. |
|
Syntax: |
|
renderingoptions = model.rendering_options |
|
Arguments: |
|
|
|
Return Value: |
|
renderingoptions – a RenderingOptions object |
|
Comments: |
|
|
|
Example: |
|
|
|
save |
|
This method is used to save the model to a file. |
|
Syntax: |
|
status = model.save “filename” |
|
Arguments: |
|
“filename” – the name of the file to save |
|
Return Value: |
|
status – true if successful, false if unsuccessful |
|
Comments: |
|
|
|
Example: |
|
model = SketchUp.active_model |
|
save_thumbnail |
|
The save_thumbnail method is used to save a thumbnail image to a file. |
|
Syntax: |
|
status = model.save_thumbnail "filename" |
|
Arguments: |
|
"filename" - the name of the file, with extension, to save the thumbnail as |
|
Return Value: |
|
status - true if successful, false if unsuccessful |
|
Comments: |
|
Returns nil if it is an internal component. |
|
Example: |
|
depth
= 100 |
|
select_tool |
|
This method is used to select a SketchUp Tool object as the active tool. You must implement the SketchUp Tool interface to create a tool prior to calling this method. |
|
Syntax: |
|
tool = model.select_tool tool |
|
Arguments: |
|
tool – the Tool object you want to select. |
|
Return Value: |
|
tool – A Tool object. |
|
Comments: |
|
The select tool is returned if you pass nil to the select_tool method. You must implement the SketchUp Tool interface to create a tool, prior to calling this method, and then instance the tool implementation and pass the object to this method. |
|
Example: |
|
model = Sketchup.active_model |
|
selection |
|
This method retrieves a Selection object for the model, containing the currently selected entities. |
|
Syntax: |
|
selection = model.selection |
|
Arguments: |
|
|
|
Return Value: |
|
selection – A Selection object with 0 or more entities that are currently selected. |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model |
|
set_attribute |
|
This method is used to set the value of an attribute in an attribute dictionary with the given name. |
|
Syntax: |
|
value = model.set_attribute “attributedictionaryname”, “key”, “value” |
|
Arguments: |
|
“attributedictionaryname” – the name of the attribute dictionary whose attribute you wish to set “key” – the attribute name “value” – the value to set |
|
Return Value: |
|
value – the value that was set |
|
Comments: |
|
This method can be used create a new AttributeDictionary object, if needed. |
|
Example: |
|
model = Sketchup.active_model value = model.set_attribute “testdictionary” “test” “115” |
|
set_datum |
|
This method sets the datum used in conversions between the internal coordinate system and UTM. |
|
Syntax: |
|
value = model.setdatum "datum" |
|
Arguments: |
|
|
|
Return Value: |
|
|
|
Comments: |
|
The default datum is WGS84. You can use the method list_datums to get a list of all of the datums supported in SketchUp. If you pass an invalid datum to set_datum, set_datum returns the default datum. |
|
Example: |
|
model = Sketchup.active_model value = model.set_datum “Adindan” |
|
shadow_info |
|
This method is used to retrieve the shadow information for the Model. |
|
Syntax: |
|
shadowinfo = model.shadow_info |
|
Arguments: |
|
|
|
Return Value: |
|
shadowinfo – a ShadowInfo object. |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model shadowinfo = model.shadow_info |
|
start_operation |
|
The start_operation method is used to notify Edit > Undo that a new operation (which can be undone) is starting. |
|
Syntax: |
|
status = model.start_operation |
|
Arguments: |
|
|
|
Return Value: |
|
status – true if successful, false if unsuccessful |
|
Comments: |
|
The String is a description for the operation that is displayed adjacent to the Edit > Undo menu item. |
|
Example: |
|
status = model.start_operation |
|
title |
|
The tile method retrieves the name of the model. |
|
Syntax: |
|
title = model.title |
|
Arguments: |
|
|
|
Return Value: |
|
title – the title of the model or an empty string (if the title is not set) |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model title = model.title |
|
utm_to_point |
|
The utm_to_point method converts a position given in UTM coordinates to a Point3d in the Model. |
|
Syntax: |
|
point = model.utm_to_point utm |
|
Arguments: |
|
utm – a UTM object. |
|
Return Value: |
|
point - A Point3d object. |
|
Comments: |
|
|
|
Example: |
|
point = [10,10,10] # Create a UTM object from the point if (point) |
|
valid? |
|
The valid method determines if the model is valid. |
|
Syntax: |
|
status = model.valid? |
|
Arguments: |
|
|
|
Return Value: |
|
status – true if the model is valid, false if it is invalid. |
|
Comments: |
|
|
|
Example: |
|
model = Sketchup.active_model valid = model.valid? |